package com.opgea.crm.services;

import java.util.List;

import com.opgea.crm.common.vo.MemberVo;
import com.opgea.crm.common.vo.ProjectDetailsVo;
import com.opgea.crm.common.vo.ProjectDocumentVo;
import com.opgea.crm.common.vo.ProjectReportVo;
import com.opgea.crm.domain.entities.ProjectDetails;
import com.opgea.crm.domain.entities.ProjectDocuments;
import com.opgea.crm.domain.modal.QualifierModel;

public interface ProjectDetailsService {

	public void create(ProjectDetails projectDetails);
	public void update(ProjectDetails projectDetails);
	public void remove(Long id);
	public ProjectDetails find(Long id);
	public List<ProjectDetails> findAll();
	public List<QualifierModel> findAllProjectNames(Long companyId);
	public List<ProjectDetails> findAllByCompanyId(Long id);
	public List<MemberVo> findMemberList(String criteria,long projectId);
	public List<QualifierModel> findAllCustomerNameByCompanyId(long companyId);
	public List<ProjectDetailsVo> findProjectList(String criteria, String value);
	public List<QualifierModel> getProjectSearchCriteriaTypes();
	public List<MemberVo> findMemberByProjectId(long projectId);
	
	//public List<ProjectReportVo> findProjectReportDetails(long projectId);
	public List<QualifierModel> findAllMemberNamesOfProject(Long projectId);
	public List<ProjectReportVo> findMemberReportList(Long memberProjectId);
	
	//for document upload
	public void createProjectDoc(ProjectDocuments documents);
	public List<ProjectDocumentVo> findAllByProject(long projectId);
}
